package q565_arrayNesting;

public class Solution {
    /*
    更优化的方法是，由于每个数字都是1 - n-1 的范围内
    所以只需要将经过的数字标记成n或者-1等不会出现的数字即可
     */
    public int arrayNesting(int[] nums) {

        int ans = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == nums.length) continue;
            int temp = 0;
            while (nums[i] != nums.length) {
                int j = nums[i];
                nums[i] = nums.length;
                i = j;
                ++temp;
            }
            if (temp > nums.length / 2) return temp;
            ans = Math.max(ans, temp);
        }
        return ans;
    }
}
